package com.xbongbong.saas.enums;

import com.xbongbong.i18n.util.I18nMessageUtil;
import lombok.Getter;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

/**
 * saas默认列表分组汇总
 * @author haibin.zhang
 * @version v1.0
 * @date 2019/1/25 10:46
 * @since v1.0
 */
@Getter
public enum ListGroupEnum {
    //通用  默认分组的code要大于0
    ALL(0, XbbRefTypeEnum.SYSTEM.getCode(), "enum.listGroup.name.all", "all"),
    APPROVAL(9999, XbbRefTypeEnum.SYSTEM.getCode(), "enum.listGroup.name.approval", "approval"),

    //客户
//    CUSTOMER_APPROVAL(9999, XbbRefTypeEnum.CUSTOMER_MANAGEMENT.getCode(), "审批中", "approval"),
    CUSTOMER_ADD_TODAY(1, XbbRefTypeEnum.CUSTOMER_MANAGEMENT.getCode(), "enum.listGroup.name.customer_add_today", "addToday"),
    CUSTOMER_ADD_THIS_WEEK(2, XbbRefTypeEnum.CUSTOMER_MANAGEMENT.getCode(), "enum.listGroup.name.customer_add_this_week", "addThisWeek"),
    WEEK_WITHOUT_FLOW(4, XbbRefTypeEnum.CUSTOMER_MANAGEMENT.getCode(), "enum.listGroup.name.week_without_flow", "weekWithoutFlow"),
    GO_BACK_SEA(5, XbbRefTypeEnum.CUSTOMER_MANAGEMENT.getCode(), "enum.listGroup.name.go_back_sea", "goBackSea"),
    CUSTOMER_RESPONSIBLE(6, XbbRefTypeEnum.CUSTOMER_MANAGEMENT.getCode(), "enum.listGroup.name.customer_responsible", "responsible"),
    CUSTOMER_COOPERATE(7, XbbRefTypeEnum.CUSTOMER_MANAGEMENT.getCode(), "enum.listGroup.name.customer_cooperate", "cooperate"),
    CUSTOMER_RESPONSIBLE_SUB(8, XbbRefTypeEnum.CUSTOMER_MANAGEMENT.getCode(), "enum.listGroup.name.customer_responsible_sub", "responsibleBySub"),
    CUSTOMER_COOPERATE_SUB(9, XbbRefTypeEnum.CUSTOMER_MANAGEMENT.getCode(), "enum.listGroup.name.customer_cooperate_sub", "cooperateBySub"),

    //合同
//    CONTRACT_APPROVAL(9999, XbbRefTypeEnum.CONTRACT.getCode(), "审批中", "approval"),
    CONTRACT_ADD_TODAY(10, XbbRefTypeEnum.CONTRACT.getCode(), "enum.listGroup.name.contract_add_today", "addToday"),
    CONTRACT_ADD_THIS_WEEK(11, XbbRefTypeEnum.CONTRACT.getCode(), "enum.listGroup.name.contract_add_this_week", "addThisWeek"),
    CONTRACT_RESPONSIBLE(12, XbbRefTypeEnum.CONTRACT.getCode(), "enum.listGroup.name.contract_responsible", "responsible"),
    CONTRACT_COOPERATE(13, XbbRefTypeEnum.CONTRACT.getCode(), "enum.listGroup.name.contract_cooperate", "cooperate"),
    CONTRACT_RESPONSIBLE_SUB(14, XbbRefTypeEnum.CONTRACT.getCode(), "enum.listGroup.name.contract_responsible_sub", "responsibleBySub"),
    CONTRACT_COOPERATE_SUB(15, XbbRefTypeEnum.CONTRACT.getCode(), "enum.listGroup.name.contract_cooperate_sub", "cooperateBySub"),
    EXPIRES_IN_MONTH(16, XbbRefTypeEnum.CONTRACT.getCode(), "enum.listGroup.name.expires_in_month", "expiresInMonth"),
    REFUND(17, XbbRefTypeEnum.CONTRACT.getCode(), "enum.listGroup.name.refund", "refund"),
    //RED(18, XbbRefTypeEnum.CONTRACT.getCode(), "红冲", "red"),

    //跟进记录
    //CUSTOMER_COMMUNICATE_ALL(0, XbbRefTypeEnum.CUSTOMER_COMMUNICATE.getCode(), "enum.listGroup.name.customer_communicate_all", "all"),
    CUSTOMER_COMMUNICATE_RESPONSIBLE(19, XbbRefTypeEnum.CUSTOMER_COMMUNICATE.getCode(), "enum.listGroup.name.customer_communicate_responsible", "create"),
    CUSTOMER_COMMUNICATE_COOPERATE(20, XbbRefTypeEnum.CUSTOMER_COMMUNICATE.getCode(), "enum.listGroup.name.customer_communicate_cooperate", "createBySub"),

    //访客计划
    COMMUNICATE_PLAN_ALL(0, XbbRefTypeEnum.COMMUNICATE_PLAN.getCode(), "enum.listGroup.name.customer_communicate_all", "all"),
    COMMUNICATE_PLAN_RESPONSIBLE(21, XbbRefTypeEnum.COMMUNICATE_PLAN.getCode(), "enum.listGroup.name.communicate_plan_responsible", "responsible"),
    COMMUNICATE_PLAN_COOPERATE(22, XbbRefTypeEnum.COMMUNICATE_PLAN.getCode(), "enum.listGroup.name.communicate_plan_cooperate", "responsibleBySub"),

    //机会
//    OPPORTUNITY_APPROVAL(9999, XbbRefTypeEnum.CONTRACT.getCode(), "审批中", "approval"),
    OPPORTUNITY_ADD_TODAY(23, XbbRefTypeEnum.SALES_OPPORTUNITY.getCode(), "enum.listGroup.name.opportunity_add_today", "addToday"),
    OPPORTUNITY_ADD_THIS_WEEK(24, XbbRefTypeEnum.SALES_OPPORTUNITY.getCode(), "enum.listGroup.name.opportunity_add_this_week", "addThisWeek"),
    OPPORTUNITY_RESPONSIBLE(25, XbbRefTypeEnum.SALES_OPPORTUNITY.getCode(), "enum.listGroup.name.opportunity_responsible", "responsible"),
    OPPORTUNITY_COOPERATE(26, XbbRefTypeEnum.SALES_OPPORTUNITY.getCode(), "enum.listGroup.name.opportunity_cooperate", "cooperate"),
    OPPORTUNITY_RESPONSIBLE_SUB(27, XbbRefTypeEnum.SALES_OPPORTUNITY.getCode(), "enum.listGroup.name.opportunity_responsible_sub", "responsibleBySub"),
    OPPORTUNITY_COOPERATE_SUB(28, XbbRefTypeEnum.SALES_OPPORTUNITY.getCode(), "enum.listGroup.name.opportunity_cooperate_sub", "cooperateBySub"),
    EXPIRED(29, XbbRefTypeEnum.SALES_OPPORTUNITY.getCode(), "enum.listGroup.name.expired", "expired"),
    EXPIRES_IN_HALF_MONTH(30, XbbRefTypeEnum.SALES_OPPORTUNITY.getCode(), "enum.listGroup.name.expires_in_half_month", "expiresInHalfMonth"),

    //供应商
    SUPPLIER_RESPONSIBLE(31, XbbRefTypeEnum.SUPPLIER.getCode(), "enum.listGroup.name.supplier_responsible", "responsible"),
    SUPPLIER_COOPERATE(32, XbbRefTypeEnum.SUPPLIER.getCode(), "enum.listGroup.name.supplier_cooperate", "cooperate"),
    SUPPLIER_RESPONSIBLE_SUB(33, XbbRefTypeEnum.SUPPLIER.getCode(), "enum.listGroup.name.supplier_responsible_sub", "responsibleBySub"),
    SUPPLIER_COOPERATE_SUB(34, XbbRefTypeEnum.SUPPLIER.getCode(), "enum.listGroup.name.supplier_cooperate_sub", "cooperateBySub"),

    //采购退货
//    RETURNED_APPROVAL(9999, XbbRefTypeEnum.RETURNED_PURCHASE.getCode(), "审批中", "approval"),
    RETURNED_PURCHASE_RESPONSIBLE(35, XbbRefTypeEnum.RETURNED_PURCHASE.getCode(), "enum.listGroup.name.returned_purchase_responsible", "responsible"),
    RETURNED_PURCHASE_RESPONSIBLE_SUB(36, XbbRefTypeEnum.RETURNED_PURCHASE.getCode(), "enum.listGroup.name.returned_purchase_responsible_sub", "responsibleBySub"),

    //BOM
//    BOM_BILL_APPROVAL(9999, XbbRefTypeEnum.BOM_BILL.getCode(), "审批中", "approval"),
    BOM_BILL_RESPONSIBLE(37, XbbRefTypeEnum.BOM_BILL.getCode(), "enum.listGroup.name.bom_bill_responsible", "responsible"),
    BOM_BILL_COOPERATE(38, XbbRefTypeEnum.BOM_BILL.getCode(), "enum.listGroup.name.bom_bill_cooperate", "cooperate"),
    BOM_BILL_RESPONSIBLE_SUB(39, XbbRefTypeEnum.BOM_BILL.getCode(), "enum.listGroup.name.returned_purchase_responsible_sub", "responsibleBySub"),
    BOM_BILL_COOPERATE_SUB(40, XbbRefTypeEnum.BOM_BILL.getCode(), "enum.listGroup.name.bom_bill_cooperate_sub", "cooperateBySub"),

    //生产单
//    PRODUCTION_APPROVAL(9999, XbbRefTypeEnum.PRODUCTION_ORDER.getCode(), "审批中", "approval"),
    PRODUCTION_ORDER_RESPONSIBLE(41, XbbRefTypeEnum.PRODUCTION_ORDER.getCode(), "enum.listGroup.name.bom_bill_responsible", "responsible"),
    PRODUCTION_ORDER_COOPERATE(42, XbbRefTypeEnum.PRODUCTION_ORDER.getCode(), "enum.listGroup.name.bom_bill_cooperate", "cooperate"),
    PRODUCTION_ORDER_RESPONSIBLE_SUB(43, XbbRefTypeEnum.PRODUCTION_ORDER.getCode(), "enum.listGroup.name.production_order_responsible_sub", "responsibleBySub"),
    PRODUCTION_ORDER_COOPERATE_SUB(44, XbbRefTypeEnum.PRODUCTION_ORDER.getCode(), "enum.listGroup.name.bom_bill_cooperate_sub", "cooperateBySub"),

    //回款

    UNCOLLECTED(45, XbbRefTypeEnum.PAYMENT.getCode(), "enum.listGroup.name.uncollected", "uncollected"),
    OVERDUE_RECEIVABLES(46, XbbRefTypeEnum.PAYMENT.getCode(), "enum.listGroup.name.overdue_receivables", "overdueReceivables"),
    OVERDUE_PAYMENT_THIS_MONTH(47, XbbRefTypeEnum.PAYMENT.getCode(), "enum.listGroup.name.overdue_payment_this_month", "overduePaymentThisMonth"),
    OVERDUE_PAYMENT_THIS_WEEK(48, XbbRefTypeEnum.PAYMENT.getCode(), "enum.listGroup.name.overdue_payment_this_week", "overduePaymentThisWeek"),
    RECEIVABLE(49, XbbRefTypeEnum.PAYMENT.getCode(), "enum.listGroup.name.receivable", "receivable"),
    RECEIVABLE_THIS_WEEK(50, XbbRefTypeEnum.PAYMENT.getCode(), "enum.listGroup.name.receivable_this_week", "receivableThisWeek"),
    PARTIALLY_ACCEPTED(51, XbbRefTypeEnum.PAYMENT.getCode(), "enum.listGroup.name.partially_accepted", "partiallyAccepted"),
	/**
	 * 红冲退款本期删除，资金管理1期 2019-10-29 14:54:37
	 * @author chenshan
	 */
//	RED_PAYMENT(52, XbbRefTypeEnum.PAYMENT.getCode(), "红冲退款", "redPayment"),
    BAD_DEBT(53, XbbRefTypeEnum.PAYMENT.getCode(), "enum.listGroup.name.bad_debt", "badDebt"),

    //付款

    UNPAID(54, XbbRefTypeEnum.PAY_PLAN.getCode(), "enum.listGroup.name.unpaid", "unpaid"),
    UNPAID_OVERDUE(149, XbbRefTypeEnum.PAY_PLAN.getCode(), "enum.listGroup.name.unpaid_overdue", "unpaidOverdue"),
    PAYMENT_DUE_THIS_MONTH(55, XbbRefTypeEnum.PAY_PLAN.getCode(), "enum.listGroup.name.payment_due_this_month", "paymentDueThisMonth"),
    PAYMENT_DUE_THIS_WEEK(56, XbbRefTypeEnum.PAY_PLAN.getCode(), "enum.listGroup.name.payment_due_this_week", "paymentDueThisWeek"),
    PAID(57, XbbRefTypeEnum.PAY_PLAN.getCode(), "enum.listGroup.name.paid", "paid"),
    PAID_THIS_MONTH(58, XbbRefTypeEnum.PAY_PLAN.getCode(), "enum.listGroup.name.paid_this_month", "paidThisMonth"),
    PAID_THIS_WEEK(59, XbbRefTypeEnum.PAY_PLAN.getCode(), "enum.listGroup.name.paid_this_week", "paidThisWeek"),
    PARTIALLY_PAID(60, XbbRefTypeEnum.PAY_PLAN.getCode(), "enum.listGroup.name.partially_paid", "partiallyPaid"),
    PAY_BAD_DEBT(112, XbbRefTypeEnum.PAY_PLAN.getCode(), "enum.listGroup.name.pay_bad_debt", "payBadDebt"),

    //进项发票
    INVOICE_NORMAL(61,XbbRefTypeEnum.INVOICE.getCode(),"enum.listGroup.name.invoice_normal","invoiceNormal"),
    INVOICE_RED(62,XbbRefTypeEnum.INVOICE.getCode(),"enum.listGroup.name.invoice_red","invoiceRed"),
    INVOICE_CANCEL(201,XbbRefTypeEnum.INVOICE.getCode(),"enum.listGroup.name.invoice_cancel","invoiceCancel"),

    //进项发票
    PURCHASE_INVOICE_NORMAL(202,XbbRefTypeEnum.PURCHASE_INVOICE.getCode(),"enum.listGroup.name.purchase_invoice_normal","purchaseInvoiceNormal"),
    PURCHASE_INVOICE_RED(203,XbbRefTypeEnum.PURCHASE_INVOICE.getCode(),"enum.listGroup.name.purchase_invoice_red","purchaseInvoiceRed"),
    PURCHASE_INVOICE_CANCEL(204,XbbRefTypeEnum.PURCHASE_INVOICE.getCode(),"enum.listGroup.name.purchase_invoice_cancel","purchaseInvoiceCancel"),

    //装配出入库单
//    ASSEMBLE_APPROVAL(9999, XbbRefTypeEnum.ASSEMBLE.getCode(), "审批中", "approval"),
    ASSEMBLE_RESPONSIBLE(63, XbbRefTypeEnum.ASSEMBLE.getCode(), "enum.listGroup.name.assemble_responsible", "responsible"),
    ASSEMBLE_RESPONSIBLE_SUB(64, XbbRefTypeEnum.ASSEMBLE.getCode(), "enum.listGroup.name.assemble_responsible_sub", "responsibleBySub"),

    //入库单
//    INSTOCK_APPROVAL(9999, XbbRefTypeEnum.INSTOCK.getCode(), "审批中", "approval"),
    INSTOCK_RESPONSIBLE(65, XbbRefTypeEnum.INSTOCK.getCode(), "enum.listGroup.name.assemble_responsible", "responsible"),
    INSTOCK_RESPONSIBLE_SUB(66, XbbRefTypeEnum.INSTOCK.getCode(), "enum.listGroup.name.assemble_responsible_sub", "responsibleBySub"),

    //出库单
//    OUTSTOCK_APPROVAL(9999, XbbRefTypeEnum.OUTSTOCK.getCode(), "审批中", "approval"),
    OUTSTOCK_RESPONSIBLE(67, XbbRefTypeEnum.OUTSTOCK.getCode(), "enum.listGroup.name.assemble_responsible", "responsible"),
    OUTSTOCK_RESPONSIBLE_SUB(68, XbbRefTypeEnum.OUTSTOCK.getCode(), "enum.listGroup.name.assemble_responsible_sub", "responsibleBySub"),

    //盘点单
//    INVENTORY_APPROVAL(9999, XbbRefTypeEnum.INVENTORY.getCode(), "审批中", "approval"),
    INVENTORY_RESPONSIBLE(69, XbbRefTypeEnum.INVENTORY.getCode(), "enum.listGroup.name.assemble_responsible", "responsible"),
    INVENTORY_RESPONSIBLE_SUB(70, XbbRefTypeEnum.INVENTORY.getCode(), "enum.listGroup.name.assemble_responsible_sub", "responsibleBySub"),

    //调拨单
//    TRANSFER_APPROVAL(9999, XbbRefTypeEnum.TRANSFER.getCode(), "审批中", "approval"),
    TRANSFER_RESPONSIBLE(71, XbbRefTypeEnum.TRANSFER.getCode(), "enum.listGroup.name.assemble_responsible", "responsible"),
    TRANSFER_RESPONSIBLE_SUB(72, XbbRefTypeEnum.TRANSFER.getCode(), "enum.listGroup.name.assemble_responsible_sub", "responsibleBySub"),

    //签到
    SIGNIN_ALL(0, XbbRefTypeEnum.SIGNIN.getCode(), "enum.listGroup.name.signin_all", "all"),
    SIGNIN_RESPONSIBLE(73, XbbRefTypeEnum.SIGNIN.getCode(), "enum.listGroup.name.signin_responsible", "responsible"),
    SIGNIN_RESPONSIBLE_SUB(74, XbbRefTypeEnum.SIGNIN.getCode(), "enum.listGroup.name.signin_responsible_sub", "responsibleBySub"),

    //工作报告
    //WORK_REPORT_ALL(0, XbbRefTypeEnum.WORK_REPORT.getCode(), "enum.listGroup.name.work_report_all", "all"),
    WORK_REPORT_SEND(75, XbbRefTypeEnum.WORK_REPORT.getCode(), "enum.listGroup.name.work_report_send", "send"),
    WORK_REPORT_SEND_TO_ME(76, XbbRefTypeEnum.WORK_REPORT.getCode(), "enum.listGroup.name.work_report_send_to_me", "sendToMe"),
    WORK_REPORT_COPY_TO_ME(77, XbbRefTypeEnum.WORK_REPORT.getCode(), "enum.listGroup.name.work_report_copy_to_me", "copyToMe"),

    //工作报告统计
    WORKREPORT_STATISIC_SEND(78, XbbRefTypeEnum.WORKREPORT_STATISIC.getCode(), "enum.listGroup.name.workreport_statisic_send", "send"),
    WORKREPORT_STATISIC_SEND_TO_ME(79, XbbRefTypeEnum.WORKREPORT_STATISIC.getCode(), "enum.listGroup.name.workreport_statisic_send_to_me", "sendToMe"),
    WORKREPORT_STATISIC_COPY_TO_ME(80, XbbRefTypeEnum.WORKREPORT_STATISIC.getCode(), "enum.listGroup.name.workreport_statisic_copy_to_me", "copyToMe"),

    // 库存查询
    PRODUCT_SEARCH(100, XbbRefTypeEnum.STOCK_SEARCH.getCode(), "enum.listGroup.name.work_report_all", "productSearch"),
    WARNING_SEARCH(81, XbbRefTypeEnum.WARNING_SEARCH.getCode(), "enum.listGroup.name.warning_search", "warningSearch"),
    GUARANTEE_SEARCH(82, XbbRefTypeEnum.GUARANTEE_SEARCH.getCode(), "enum.listGroup.name.guarantee_search", "guaranteeSearch"),

    //产品
    ONLINE(83, XbbRefTypeEnum.PRODUCT.getCode(), "enum.listGroup.name.online", "online"),
    DOWNLINE(84, XbbRefTypeEnum.PRODUCT.getCode(), "enum.listGroup.name.downline", "downline"),

    //供应商跟进记录
    //SUPPLIER_COMMUNICATE_ALL(0, XbbRefTypeEnum.SUPPLIER_COMMUNICATE.getCode(), "enum.listGroup.name.work_report_all", "all"),
    SUPPLIER_COMMUNICATE_RESPONSIBLE(85, XbbRefTypeEnum.SUPPLIER_COMMUNICATE.getCode(), "enum.listGroup.name.supplier_communicate_responsible", "create"),
    SUPPLIER_COMMUNICATE_COOPERATE(86, XbbRefTypeEnum.SUPPLIER_COMMUNICATE.getCode(), "enum.listGroup.name.supplier_communicate_cooperate", "createBySub"),

    //采购合同
//    PURCHASE_APPROVAL(9999, XbbRefTypeEnum.PURCHASE.getCode(), "审批中", "approval"),
    PURCHASE_RESPONSIBLE(87, XbbRefTypeEnum.PURCHASE.getCode(), "enum.listGroup.name.purchase_responsible", "responsible"),
    PURCHASE_RESPONSIBLE_SUB(88, XbbRefTypeEnum.PURCHASE.getCode(), "enum.listGroup.name.purchase_responsible_sub", "responsibleBySub"),

    //退货退款
//    REFUND_APPROVAL(9999,XbbRefTypeEnum.REFUND.getCode(),"审批中","approval"),
    REFUND_RESPONSIBLE(89,XbbRefTypeEnum.REFUND.getCode(),"enum.listGroup.name.purchase_responsible","responsible"),
    REFUND_COOPERATE(90,XbbRefTypeEnum.REFUND.getCode(),"enum.listGroup.name.refund_cooperate","cooperate"),
    REFUND_RESPONSIBLEBYSUB(91,XbbRefTypeEnum.REFUND.getCode(),"enum.listGroup.name.purchase_responsible_sub","responsibleBySub"),
    REFUND_COOPERATEBYSUB(92,XbbRefTypeEnum.REFUND.getCode(),"enum.listGroup.name.refund_cooperatebysub","cooperateBySub"),

    WORK_ORDER_CREATE_BY_ME(93,XbbRefTypeEnum.WORK_ORDER.getCode(),"enum.listGroup.name.work_order_create_by_me","create"),
    WORK_ORDER_RESPONSE_BY_ME(94,XbbRefTypeEnum.WORK_ORDER.getCode(),"enum.listGroup.name.purchase_responsible","responsible"),
    WORK_ORDER_COOPERATE_BY_ME(95,XbbRefTypeEnum.WORK_ORDER.getCode(),"enum.listGroup.name.refund_cooperate","cooperate"),
    WORK_ORDER_COPY_BY_ME(96,XbbRefTypeEnum.WORK_ORDER.getCode(),"enum.listGroup.name.work_order_copy_by_me","copy"),
    WORK_ORDER_CREATE_BY_SUB(97,XbbRefTypeEnum.WORK_ORDER.getCode(),"enum.listGroup.name.work_order_create_by_sub","createBySub"),
    WORK_ORDER_RESPONSE_BY_SUB(98,XbbRefTypeEnum.WORK_ORDER.getCode(),"enum.listGroup.name.work_order_response_by_sub","responsibleBySub"),
    WORK_ORDER_COOPERATE_BY_SUB(99,XbbRefTypeEnum.WORK_ORDER.getCode(),"enum.listGroup.name.work_order_cooperate_by_sub","cooperateBySub"),

    //库存查询 100被用了

    QUOTATION_ADD_TODAY(101, XbbRefTypeEnum.QUOTATION.getCode(), "enum.listGroup.name.quotation_add_today", "addToday"),
    QUOTATION_ADD_THIS_WEEK(102, XbbRefTypeEnum.QUOTATION.getCode(), "enum.listGroup.name.quotation_add_this_week", "addThisWeek"),
    QUOTATION_RESPONSIBLE(103, XbbRefTypeEnum.QUOTATION.getCode(), "enum.listGroup.name.purchase_responsible", "responsible"),
    QUOTATION_COOPERATE(104, XbbRefTypeEnum.QUOTATION.getCode(), "enum.listGroup.name.quotation_cooperate", "cooperate"),
    QUOTATION_RESPONSIBLE_SUB(105, XbbRefTypeEnum.QUOTATION.getCode(), "enum.listGroup.name.quotation_responsible_sub", "responsibleBySub"),
    QUOTATION_COOPERATE_SUB(106, XbbRefTypeEnum.QUOTATION.getCode(), "enum.listGroup.name.quotation_cooperate_sub", "cooperateBySub"),

    //回款单
    PAYMENT_SHEET_THIS_WEEK(107, XbbRefTypeEnum.PAYMENT_SHEET.getCode(), "enum.listGroup.name.payment_sheet_this_week", "paymentSheetThisWeek"),
    PAYMENT_SHEET_THIS_MONTH(108, XbbRefTypeEnum.PAYMENT_SHEET.getCode(), "enum.listGroup.name.payment_sheet_this_month", "paymentSheetThisMonth"),
    PAYMENT_SHEET_LAST_MONTH(109, XbbRefTypeEnum.PAYMENT_SHEET.getCode(), "enum.listGroup.name.payment_sheet_last_month", "paymentSheetLastMonth"),
    PAYMENT_SHEET_RED(110, XbbRefTypeEnum.PAYMENT_SHEET.getCode(), "enum.listGroup.name.payment_sheet_red", "paymentSheetRed"),
    PAYMENT_SHEET_BAD(111, XbbRefTypeEnum.PAYMENT_SHEET.getCode(), "enum.listGroup.name.payment_sheet_bad", "paymentSheetBad"),

    //付款单
    PAY_SHEET_THIS_WEEK(112, XbbRefTypeEnum.PAY_SHEET.getCode(), "enum.listGroup.name.pay_sheet_this_week", "paySheetThisWeek"),
    PAY_SHEET_THIS_MONTH(113, XbbRefTypeEnum.PAY_SHEET.getCode(), "enum.listGroup.name.pay_sheet_this_month", "paySheetThisMonth"),
    PAY_SHEET_LAST_MONTH(114, XbbRefTypeEnum.PAY_SHEET.getCode(), "enum.listGroup.name.pay_sheet_last_month", "paySheetLastMonth"),
    PAY_SHEET_RED(115, XbbRefTypeEnum.PAY_SHEET.getCode(), "enum.listGroup.name.pay_sheet_red", "paySheetRed"),
    PAY_SHEET_BAD(116, XbbRefTypeEnum.PAY_SHEET.getCode(), "enum.listGroup.name.pay_sheet_bad", "paySheetBad"),

    //入库单
    PURCHASE_INSTOCK_RESPONSIBLE_SUB(117, XbbRefTypeEnum.PURCHASE_INSTOCK.getCode(), "enum.listGroup.name.purchase_instock_responsible_sub", "responsibleBySub"),
    PURCHASE_INSTOCK_RESPONSIBLE(118, XbbRefTypeEnum.PURCHASE_INSTOCK.getCode(), "enum.listGroup.name.purchase_instock_responsible", "responsible"),
    REFUND_INSTOCK_RESPONSIBLE_SUB(119, XbbRefTypeEnum.REFUND_INSTOCK.getCode(), "enum.listGroup.name.refund_instock_responsible_sub", "responsibleBySub"),
    REFUND_INSTOCK_RESPONSIBLE(120, XbbRefTypeEnum.REFUND_INSTOCK.getCode(), "enum.listGroup.name.refund_instock_responsible", "responsible"),
    OTHER_INSTOCK_RESPONSIBLE_SUB(121, XbbRefTypeEnum.OTHER_INSTOCK.getCode(), "enum.listGroup.name.other_instock_responsible_sub", "responsibleBySub"),
    OTHER_INSTOCK_RESPONSIBLE(122, XbbRefTypeEnum.OTHER_INSTOCK.getCode(), "enum.listGroup.name.other_instock_responsible", "responsible"),
    PRODUCTION_INSTOCK_OUTSTOCK_RESPONSIBLE_SUB(123, XbbRefTypeEnum.PRODUCTION_INSTOCK.getCode(), "enum.listGroup.name.production_instock_outstock_responsible_sub", "responsibleBySub"),
    PRODUCTION_INSTOCK_OUTSTOCK_RESPONSIBLE(124, XbbRefTypeEnum.PRODUCTION_INSTOCK.getCode(), "enum.listGroup.name.production_instock_outstock_responsible", "responsible"),
    RETURNED_MATERIEL_INSTOCK_RESPONSIBLE_SUB(125, XbbRefTypeEnum.RETURNED_MATERIEL_INSTOCK.getCode(), "enum.listGroup.name.returned_materiel_instock_responsible_sub", "responsibleBySub"),
    RETURNED_MATERIEL_INSTOCK_RESPONSIBLE(126, XbbRefTypeEnum.RETURNED_MATERIEL_INSTOCK.getCode(), "enum.listGroup.name.returned_materiel_instock_responsible", "responsible"),

    //出库单
    CONTRACT_OUTSTOCK_RESPONSIBLE_SUB(127, XbbRefTypeEnum.CONTRACT_OUTSTOCK.getCode(), "enum.listGroup.name.contract_outstock_responsible_sub", "responsibleBySub"),
    CONTRACT_OUTSTOCK_RESPONSIBLE(128, XbbRefTypeEnum.CONTRACT_OUTSTOCK.getCode(), "enum.listGroup.name.contract_outstock_responsible", "responsible"),
    RETURNED_PURCHASE_OUTSTOCK_RESPONSIBLE_SUB(129, XbbRefTypeEnum.RETURNED_PURCHASE_OUTSTOCK.getCode(), "enum.listGroup.name.returned_purchase_outstock_responsible_sub", "responsibleBySub"),
    RETURNED_PURCHASE_OUTSTOCK_RESPONSIBLE(130, XbbRefTypeEnum.RETURNED_PURCHASE_OUTSTOCK.getCode(), "enum.listGroup.name.returned_purchase_outstock_responsible", "responsible"),
    OTHER_OUTSTOCK_RESPONSIBLE_SUB(131, XbbRefTypeEnum.OTHER_OUTSTOCK.getCode(), "enum.listGroup.name.other_outstock_responsible_sub", "responsibleBySub"),
    OTHER_OUTSTOCK_RESPONSIBLE(132, XbbRefTypeEnum.OTHER_OUTSTOCK.getCode(), "enum.listGroup.name.other_outstock_responsible", "responsible"),
    PRODUCTION_MATERIEL_OUTSTOCK_RESPONSIBLE_SUB(133, XbbRefTypeEnum.PRODUCTION_MATERIEL_OUTSTOCK.getCode(), "enum.listGroup.name.production_materiel_outstock_responsible_sub", "responsibleBySub"),
    PRODUCTION_MATERIEL_OUTSTOCK_RESPONSIBLE(134, XbbRefTypeEnum.PRODUCTION_MATERIEL_OUTSTOCK.getCode(), "enum.listGroup.name.production_materiel_outstock_responsible", "responsible"),
    WORK_ORDER_OUTSTOCK_RESPONSIBLE_SUB(135, XbbRefTypeEnum.WORK_ORDER_OUTSTOCK.getCode(), "enum.listGroup.name.work_order_outstock_responsible_sub", "responsibleBySub"),
    WORK_ORDER_OUTSTOCK_RESPONSIBLE(136, XbbRefTypeEnum.WORK_ORDER_OUTSTOCK.getCode(), "enum.listGroup.name.work_order_outstock_responsible", "responsible"),


    //报销单
    REIMBURSEMENT_FORM_ADD_TODAY(137, XbbRefTypeEnum.REIMBURSEMENT_FORM.getCode(), "今日新增", "addToday"),
    REIMBURSEMENT_FORM_THIS_WEEK(138, XbbRefTypeEnum.REIMBURSEMENT_FORM.getCode(), "本周新增", "addThisWeek"),
    //费用
    EXPENSE_ADD_TODAY(137, XbbRefTypeEnum.EXPENSE.getCode(), "今日新增", "addToday"),
    EXPENSE_THIS_WEEK(138, XbbRefTypeEnum.EXPENSE.getCode(), "本周新增", "addThisWeek"),
    // 批次保质期查询
    /**
     * 回款计划
     */
    PAYMENT_TASK_ALL(0, XbbRefTypeEnum.PAYMENT_TASK.getCode(), "enum.listGroup.name.payment_task_all", "all"),
    PAYMENT_TASK_RESPONSIBLE(21, XbbRefTypeEnum.PAYMENT_TASK.getCode(), "enum.listGroup.name.payment_task_all_responsible", "responsible"),
    PAYMENT_TASK_COOPERATE(22, XbbRefTypeEnum.PAYMENT_TASK.getCode(), "enum.listGroup.name.payment_task_all_cooperate", "responsibleBySub"),

    GUARANTEE_SEARCH_EXPIRED(140, XbbRefTypeEnum.GUARANTEE_SEARCH.getCode(), "enum.listGroup.name.guarantee_search_expired", "guaranteeSearchExpired"),
    GUARANTEE_SEARCH_EXPIRED_15(141, XbbRefTypeEnum.GUARANTEE_SEARCH.getCode(), "enum.listGroup.name.guarantee_search_expired_15", "guaranteeSearchExpired15"),
    GUARANTEE_SEARCH_EXPIRED_30(142, XbbRefTypeEnum.GUARANTEE_SEARCH.getCode(), "enum.listGroup.name.guarantee_search_expired_30", "guaranteeSearchExpired30"),
    GUARANTEE_SEARCH_EXPIRED_60(143, XbbRefTypeEnum.GUARANTEE_SEARCH.getCode(), "enum.listGroup.name.guarantee_search_expired_60", "guaranteeSearchExpired60"),
    GUARANTEE_SEARCH_EXPIRED_60_MORE(144, XbbRefTypeEnum.GUARANTEE_SEARCH.getCode(), "enum.listGroup.name.guarantee_search_expired_60_more", "guaranteeSearchExpired60More"),

    //序列号查询
    SEQ_SEARCH_INSTOCK(151,XbbRefTypeEnum.SEQ_SEARCH.getCode(),"enum.listGroup.name.seq_search_instock","seqSearchInstock"),
    SEQ_SEARCH_OUTSTOCK(152,XbbRefTypeEnum.SEQ_SEARCH.getCode(),"enum.listGroup.name.seq_search_outstock","seqSearchaOutstock"),
    SEQ_SEARCH(150,XbbRefTypeEnum.SEQ_SEARCH.getCode(),"enum.listGroup.name.seq_search","seqSearcha"),

    //营销活动管理
    COUPON(170,XbbRefTypeEnum.MARKETING_ACTIVITY_MANAGEMENT.getCode(),"enum.listGroup.name.coupon","coupon"),

    PROMOTION_GOODS(171,XbbRefTypeEnum.PROMOTION_ACTIVITY_MANAGEMENT.getCode(),"enum.listGroup.name.promotion_goods","promotionGoods"),

//    SEQ_SEARCH(152,XbbRefTypeEnum.SEQ_SEARCH.getCode(),"enum.listGroup.name.seq_search","seqSearch"),

    //市场活动分组
    MARKET_ACTIVITY_ADD_TODAY(153, XbbRefTypeEnum.MARKET_ACTIVITY.getCode(), "enum.listGroup.name.market_activity_add_today", "addToday"),
    MARKET_ACTIVITY_ADD_THIS_WEEK(154, XbbRefTypeEnum.MARKET_ACTIVITY.getCode(), "enum.listGroup.name.market_activity_add_this_week", "addThisWeek"),
    MARKET_ACTIVITY_RESPONSIBLE(156, XbbRefTypeEnum.MARKET_ACTIVITY.getCode(), "enum.listGroup.name.market_activity_responsible", "responsible"),
    MARKET_ACTIVITY_COOPERATE(157, XbbRefTypeEnum.MARKET_ACTIVITY.getCode(), "enum.listGroup.name.market_activity_cooperate", "cooperate"),
    MARKET_ACTIVITY_RESPONSIBLE_SUB(158, XbbRefTypeEnum.MARKET_ACTIVITY.getCode(), "enum.listGroup.name.market_activity_responsible_sub", "responsibleBySub"),
    MARKET_ACTIVITY_COOPERATE_SUB(159, XbbRefTypeEnum.MARKET_ACTIVITY.getCode(), "enum.listGroup.name.market_activity_cooperate_sub", "cooperateBySub"),

    //销售线索
    CLUE_ADD_TODAY(160, XbbRefTypeEnum.CLUE.getCode(), "enum.listGroup.name.clue_add_today", "addToday"),
    CLUE_ADD_THIS_WEEK(161, XbbRefTypeEnum.CLUE.getCode(), "enum.listGroup.name.clue_add_this_week", "addThisWeek"),
    CLUE_WEEK_WITHOUT_FLOW(162, XbbRefTypeEnum.CLUE.getCode(), "enum.listGroup.name.clue_week_without_flow", "weekWithoutFlow"),
    CLUE_GO_BACK_SEA(163, XbbRefTypeEnum.CLUE.getCode(), "enum.listGroup.name.clue_go_back_sea", "goBackSea"),
    CLUE_RESPONSIBLE(164, XbbRefTypeEnum.CLUE.getCode(), "enum.listGroup.name.clue_responsible", "responsible"),
    CLUE_COOPERATE(165, XbbRefTypeEnum.CLUE.getCode(), "enum.listGroup.name.clue_cooperate", "cooperate"),
    CLUE_RESPONSIBLE_SUB(166, XbbRefTypeEnum.CLUE.getCode(), "enum.listGroup.name.clue_responsible_sub", "responsibleBySub"),
    CLUE_COOPERATE_SUB(167, XbbRefTypeEnum.CLUE.getCode(), "enum.listGroup.name.clue_cooperate_sub", "cooperateBySub"),


    DISTRIBUTOR_COMMUNICATE_RESPONSIBLE(172, XbbRefTypeEnum.DISTRIBUTOR_COMMUNICATE.getCode(), "enum.listGroup.name.customer_communicate_responsible", "create"),
    DISTRIBUTOR_COMMUNICATE_COOPERATE(173, XbbRefTypeEnum.DISTRIBUTOR_COMMUNICATE.getCode(), "enum.listGroup.name.customer_communicate_cooperate", "createBySub"),

    // 对账单列表
    UNCONFIRMED_STATEMENT(200, XbbRefTypeEnum.CUSTOMER_STATEMENT_STATISTIC.getCode(), "enum.listGroup.name.unconfirmed_statement", "unconfirmedStatement"),
    PENDING_STATEMENT(201, XbbRefTypeEnum.CUSTOMER_STATEMENT_STATISTIC.getCode(), "enum.listGroup.name.pending_statement", "pendingStatement"),
    MONTH_STATEMENT(202, XbbRefTypeEnum.CUSTOMER_STATEMENT_STATISTIC.getCode(), "enum.listGroup.name.month_statement", "monthStatement"),

    RETURN_RESPONSIBLE(203,XbbRefTypeEnum.RETURN.getCode(),"enum.listGroup.name.return_responsible","responsible"),
    RETURN_COOPERATE(204,XbbRefTypeEnum.RETURN.getCode(),"enum.listGroup.name.return_cooperate","cooperate"),
    RETURN_RESPONSIBLEBYSUB(205,XbbRefTypeEnum.RETURN.getCode(),"enum.listGroup.name.return_responsiblebysub","responsibleBySub"),
    RETURN_COOPERATEBYSUB(206,XbbRefTypeEnum.RETURN.getCode(),"enum.listGroup.name.return_cooperatebysub","cooperateBySub"),

    // 订货单
    ORDER_ADD_TODAY(207, XbbRefTypeEnum.ORDER.getCode(), "enum.listGroup.name.order_add_today", "addToday"),
    ORDER_ADD_THIS_WEEK(208, XbbRefTypeEnum.ORDER.getCode(), "enum.listGroup.name.order_add_this_week", "addThisWeek"),
    ORDER_RESPONSIBLE(209, XbbRefTypeEnum.ORDER.getCode(), "enum.listGroup.name.order_responsible", "responsible"),
    ORDER_COOPERATE(210, XbbRefTypeEnum.ORDER.getCode(), "enum.listGroup.name.order_cooperate", "cooperate"),
    ORDER_RESPONSIBLE_SUB(211, XbbRefTypeEnum.ORDER.getCode(), "enum.listGroup.name.order_responsible_sub", "responsibleBySub"),
    ORDER_COOPERATE_SUB(212, XbbRefTypeEnum.ORDER.getCode(), "enum.listGroup.name.order_cooperate_sub", "cooperateBySub"),
    ORDER_IN_MONTH(213, XbbRefTypeEnum.ORDER.getCode(), "enum.listGroup.name.expires_in_month", "expiresInMonth"),
    RETURN(214, XbbRefTypeEnum.ORDER.getCode(), "enum.listGroup.name.refund", "refund"),

    //其他收入单
    OTHER_INCOME_THIS_WEEK(221, XbbRefTypeEnum.OTHER_INCOME.getCode(), "enum.listGroup.name.other_income_this_week", "otherIncomeThisWeek"),
    OTHER_INCOME_THIS_MONTH(222, XbbRefTypeEnum.OTHER_INCOME.getCode(), "enum.listGroup.name.other_income_this_month", "otherIncomeThisMonth"),
    OTHER_INCOME_LAST_MONTH(223, XbbRefTypeEnum.OTHER_INCOME.getCode(), "enum.listGroup.name.other_income_last_month", "otherIncomeLastMonth"),
    OTHER_INCOME_RED(224, XbbRefTypeEnum.OTHER_INCOME.getCode(), "enum.listGroup.name.other_income_red", "otherIncomeRed"),
    //其他支出单
    OTHER_EXPENSE_THIS_WEEK(225, XbbRefTypeEnum.OTHER_EXPENSE.getCode(), "enum.listGroup.name.other_expense_this_week", "otherExpenseThisWeek"),
    OTHER_EXPENSE_THIS_MONTH(226, XbbRefTypeEnum.OTHER_EXPENSE.getCode(), "enum.listGroup.name.other_expense_this_month", "otherExpenseThisMonth"),
    OTHER_EXPENSE_LAST_MONTH(227, XbbRefTypeEnum.OTHER_EXPENSE.getCode(), "enum.listGroup.name.other_expense_last_month", "otherExpenseLastMonth"),
    OTHER_EXPENSE_RED(228, XbbRefTypeEnum.OTHER_EXPENSE.getCode(), "enum.listGroup.name.other_expense_red", "otherExpenseRed"),

    COST_ADJUST_RESPONSIBLE_SUB(230, XbbRefTypeEnum.COST_ADJUST.getCode(), "enum.listGroup.name.cost_adjust_responsible_sub", "responsibleBySub"),
    COST_ADJUST_RESPONSIBLE(231, XbbRefTypeEnum.COST_ADJUST.getCode(), "enum.listGroup.name.cost_adjust_responsible", "responsible"),

    //新工单
    WORK_ORDER_V2_RESPONSIBLE(240, XbbRefTypeEnum.WORK_ORDER_V2.getCode(), "enum.listGroup.name.work_order_v2_responsible", "responsible"),
    WORK_ORDER_V2_UNDERWAY(241, XbbRefTypeEnum.WORK_ORDER_V2.getCode(), "enum.listGroup.name.work_order_v2_underway", "underway"),
    WORK_ORDER_V2_COMPLETE(242, XbbRefTypeEnum.WORK_ORDER_V2.getCode(), "enum.listGroup.name.work_order_v2_complete", "complete"),
    WORK_ORDER_V2_COOPERATE(243, XbbRefTypeEnum.WORK_ORDER_V2.getCode(), "enum.listGroup.name.work_order_v2_cooperate", "cooperate"),
    WORK_ORDER_V2_ADD_TODAY(244, XbbRefTypeEnum.WORK_ORDER_V2.getCode(), "enum.listGroup.name.work_order_v2_add_today", "addToday"),
    WORK_ORDER_V2_RESPONSIBLE_SUB(245, XbbRefTypeEnum.WORK_ORDER_V2.getCode(), "enum.listGroup.name.work_order_v2_responsible_sub", "responsibleBySub"),
    WORK_ORDER_V2_COOPERATE_SUB(246, XbbRefTypeEnum.WORK_ORDER_V2.getCode(), "enum.listGroup.name.work_order_v2_cooperate_sub", "cooperateBySub"),

    //指派工单
    WORK_ORDER_V2_APPOINT_THIS_WEEK(250, XbbRefTypeEnum.WORK_ORDER_V2_APPOINT.getCode(), "enum.listGroup.name.work_order_v2_appoint_this_week", "addThisWeek"),
    WORK_ORDER_V2_APPOINT_ADD_TODAY(251, XbbRefTypeEnum.WORK_ORDER_V2_APPOINT.getCode(), "enum.listGroup.name.work_order_v2_appoint_add_today", "addToday"),

    //工单池
    WORK_ORDER_V2_POOL_THIS_WEEK(260, XbbRefTypeEnum.WORK_ORDER_V2_POOL.getCode(), "enum.listGroup.name.work_order_v2_pool_this_week", "addThisWeek"),
    WORK_ORDER_V2_POOL_ADD_TODAY(261, XbbRefTypeEnum.WORK_ORDER_V2_POOL.getCode(), "enum.listGroup.name.work_order_v2_pool_add_today", "addToday"),

    //服务项目
    SERVICE_PROJECT_ONLINE(235, XbbRefTypeEnum.SERVICE_PROJECT.getCode(), "enum.listGroup.name.online", "online"),
    SERVICE_PROJECT_DOWNLINE(236, XbbRefTypeEnum.SERVICE_PROJECT.getCode(), "enum.listGroup.name.downline", "downline"),

    // 回执单
    RECEIPT_ORDER_TODAY(207, XbbRefTypeEnum.RECEIPT_ORDER.getCode(), "enum.listGroup.name.receipt_order_add_today", "addToday"),
    RECEIPT_ORDER_ADD_THIS_WEEK(208, XbbRefTypeEnum.RECEIPT_ORDER.getCode(), "enum.listGroup.name.receipt_order_add_this_week", "addThisWeek"),
    RECEIPT_ORDER_RESPONSIBLE(209, XbbRefTypeEnum.RECEIPT_ORDER.getCode(), "enum.listGroup.name.receipt_order_responsible", "responsible"),
    RECEIPT_ORDER_COOPERATE(210, XbbRefTypeEnum.RECEIPT_ORDER.getCode(), "enum.listGroup.name.receipt_order_cooperate", "cooperate"),
    RECEIPT_ORDER_RESPONSIBLE_SUB(211, XbbRefTypeEnum.RECEIPT_ORDER.getCode(), "enum.listGroup.name.receipt_order_responsible_sub", "responsibleBySub"),
    RECEIPT_ORDER_COOPERATE_SUB(212, XbbRefTypeEnum.RECEIPT_ORDER.getCode(), "enum.listGroup.name.receipt_order_cooperate_sub", "cooperateBySub"),

    UNKONW(404,XbbRefTypeEnum.UNKNOWN.getCode(),"enum.listGroup.name.unkonw","unknow"),

    ;

    ListGroupEnum(Integer code, Integer refType, String name, String alias) {
        this.code = code;
        this.refType = refType;
        this.name = name;
        this.alias = alias;
    }

    public static List<ListGroupEnum> getDefaultEnum(Integer refType) {

        List<ListGroupEnum> listGroupEnumList = new ArrayList<>();
        for (ListGroupEnum listGroupEnum : values()){
            if (Objects.equals(listGroupEnum.getRefType(),refType)) {
//                if (delCusFilterPublic(refType,listGroupEnum.code)){
//                    continue;
//                }
                listGroupEnumList.add(listGroupEnum);
            }
        }
        return listGroupEnumList;
    }

    public static Boolean delCusFilterPublic(Integer refType,Integer code){
        Boolean delCUstomer = Objects.equals(refType,XbbRefTypeEnum.CUSTOMER_RECYCLE.getCode());
        if (!delCUstomer){
            return false;
        }
        return Objects.equals(code, APPROVAL.getCode()) ||  Objects.equals(code,GO_BACK_SEA.getCode()) ||  Objects.equals(code,CUSTOMER_RESPONSIBLE.getCode()) ||  Objects.equals(code,CUSTOMER_COOPERATE.getCode()) ||  Objects.equals(code,CUSTOMER_RESPONSIBLE_SUB.getCode()) ||  Objects.equals(code,CUSTOMER_COOPERATE_SUB.getCode());
    }

    public static Boolean delClueFilterPublic(Integer refType,Integer code){
        Boolean delClue = Objects.equals(refType,XbbRefTypeEnum.CLUE_RECYCLE.getCode());
        if (!delClue){
            return false;
        }
        return Objects.equals(code, APPROVAL.getCode()) ||  Objects.equals(code,CLUE_GO_BACK_SEA.getCode()) ||  Objects.equals(code,CLUE_RESPONSIBLE.getCode()) ||  Objects.equals(code,CLUE_COOPERATE.getCode()) ||  Objects.equals(code,CLUE_RESPONSIBLE_SUB.getCode()) ||  Objects.equals(code,CLUE_COOPERATE_SUB.getCode());
    }

    public static ListGroupEnum getBusinessGroup(Integer refType, Integer code) {
        if (Objects.equals(ListGroupEnum.APPROVAL.getCode(),code)){
            return APPROVAL;
        }
        for (ListGroupEnum listGroupEnum : values()) {
            if (Objects.equals(listGroupEnum.getRefType(), refType) && Objects.equals(listGroupEnum.getCode(), code)) {
                return listGroupEnum;
            }
        }
        return UNKONW;
    }

    public static ListGroupEnum getByCode(Integer code) {
        for (ListGroupEnum listGroupEnum : values()) {
            if (Objects.equals(listGroupEnum.getCode(), code)) {
                return listGroupEnum;
            }
        }
        return UNKONW;
    }

    private Integer code;
    private Integer refType;
    private String name;
    private String alias;

    public String getName() {
        return I18nMessageUtil.getMessage(name);
    }
}
